//
//  Framework for a raytracer
//  File: cylinder.h
//
//  Created for the Computer Science course "Introduction Computer Graphics"
//  taught at the University of Groningen by Tobias Isenberg.
//
//  Authors:
//	  Zhe Sun
//
//  This framework is inspired by and uses code of the raytracer framework of 
//  Bert Freudenberg that can be found at
//  http://isgwww.cs.uni-magdeburg.de/graphik/lehre/cg2/projekt/rtprojekt.html 
//

#ifndef __CYLINDER__
#define __CYLINDER__

#include "object.h"

enum Axis{X_INFINITE, Y_INFINITE, Z_INFINITE};

class Cylinder : public Object
{
public:
    Cylinder(Point center, double r, Axis axis) : center(center), r(r), axis(axis){}

    virtual Hit intersect(const Ray &ray);

    const Point center;
    const double r;
    const Axis axis;
};

#endif 
